/* 
 * File:   IServiceLocator.h
 * Author: alexey
 *
 * Created on 31 Март 2011 г., 1:34
 */

#ifndef ISERVICELOCATOR_H
#define	ISERVICELOCATOR_H

namespace storagemon
{
    class IService
    {
    public:
        virtual ~IService() {};
    };
    
    class IServiceLocator
    {
    public:
        virtual ~IServiceLocator() {};
        
        virtual void RegisterService(const char* service_name,
                IService* service) = 0;
        virtual void UnregisterService(const char* service_name) = 0;
        virtual IService* GetService(const char* service_name) = 0;
    };
} // storagemon

#endif	/* ISERVICELOCATOR_H */

